#pragma once

#include "Class.h"


class WHENGINE_API CNativeClass : public CClass
{
public:
    CNativeClass(
        CClass* InBaseClass
        , STypeID InTypeID
        ,std::function<void()> InPostConstructFunction);

    //create script object's native part
    RObject* NewScriptNativeInstance(void* InMemory) const
    {
        assert(NewScriptNativeInstanceFunc);
        return NewScriptNativeInstanceFunc(InMemory);
    }

    std::function<RObject*(void*)> NewScriptNativeInstanceFunc;
    
};